auto.waitFor()

var storage = storages.create("xiangxiangyuedu");
var time = random(2000, 3000)

function launchAppEnhance(app_name) {
  let thread = threads.start(function () {
    toastLog("检查是否有打开权限!")
    while (true) {
      var allow = text("允许").findOne(5000)
      if (allow) {
        sleep(1000)
        toastLog("发现允许授权!")
        allow.click()
        sleep(1000)
        thread.interrupt()
        break
      }
    }
  })
  sleep(1000)
  var result = launchApp(app_name)
  sleep(3000)
  thread.interrupt()
  return result
}

function 广告() {
  let try_count = 11, close_btn = null;
  while (!close_btn) {
    if (try_count <= 0) {
      break
    }
    // 直到找到关闭按钮
    close_btn = idContains("ad_close").findOne(1000) ||
      className('android.widget.ImageView').clickable().depth(5).drawingOrder(2).findOne(1000) ||
      className('android.view.View').clickable().depth(6).findOne(1000)
    if (close_btn) {
      close_btn.click()
      sleep(time)
      break
    } else {
      try {
        取消 = text("取消").findOne(500)
        if (取消) {
          点击控件(取消)
        }
      } catch (error) { }
      try {
        关闭 = text("关闭").findOne(500)
        if (关闭) {
          点击控件(关闭)
        }
      } catch (error) { }
      try {//支付宝
        if (currentPackage() != 'io.dcloud.H5A5058E5') {
          toastLog('估计是进入支付宝页面了')
          sleep(2000)
          back()
          sleep(2000)
          继续 = textStartsWith("继续").findOne(1000)
          if (继续) {
            点击控件(继续)
          }
          var 每日任务 = text('每日任务').findOne(3000)
          if (每日任务) {
            break
          }
        }
      } catch (error) { }
    }
    try_count--
    sleep(2000)
  }
}

// 点击控件坐标，控件的clickbale为false的时候
function 点击控件(x) {
  var weight = x.bounds()
  click(weight.centerX(), weight.centerY())
}

function task() {
  var 首页 = text('首页').findOne(30000)
  if (首页) {
    sleep(5000)
    var 我的 = text('我的').findOne(5000)
    if (我的) {
      点击控件(我的)
      sleep(15000)
      var 不再提醒 = text('不再提醒').findOne(5000)
      if (不再提醒) {
        点击控件(不再提醒)
        sleep(time)
      }
      var 已完成 = textStartsWith('已完成').findOne(10000)
      if (已完成) {
        nums = parseFloat(已完成.text().slice(4, 5))
        if (nums == 5) {
          toastLog('已经完成每日任务')
          sleep(time)
        } else {
          var 去完成 = text('去完成').findOne(5000)
          if (去完成) {
            if (device.model == 'Redmi 8A') {
              点击控件(去完成)
            }
            if (device.model == 'MI 5X') {
              click(904, 1316)
            }
            sleep(8000)
            var 继续完成 = text('继续完成').findOne(1000)
            if (!继续完成) {
              toastLog('当前是广告界面')
              广告()
            }
            sleep(5000)
            var index = 0
            while (index < 5) {
              var 继续完成 = text('继续完成').findOne(1000)
              if (继续完成) {
                点击控件(继续完成)
                sleep(5000)
                var 继续完成 = text('继续完成').findOne(1000)
                if (!继续完成) {
                  toastLog('当前是广告界面')
                  广告()
                  sleep(time)
                }
              }
              index++
            }
            sleep(time)
            back()
            sleep(time)
          }
          var 更多任务 = text('更多任务').findOne(5000)
          if (更多任务) {
            if (device.model == 'Redmi 8A') {
              点击控件(更多任务)
            }
            if (device.model == 'MI 5X') {
              click(894, 1211)
            }
            sleep(5000)
            var 每日签到 = textStartsWith('每日签到').findOne(5000)
            if (每日签到) {
              点击控件(每日签到)
              sleep(time)
              var 签到 = text('签到').findOne(5000)
              if (签到) {
                签到.click()
                sleep(5000)
                var 签到 = text('签到').findOne(1000)
                if (!签到) {
                  toastLog('当前是广告界面')
                  广告()
                  var 确定 = text('确定').findOne(5000)
                  if (确定) {
                    确定.click()
                    sleep(time)
                    back()
                    sleep(time)
                    back()
                    sleep(time)
                  }
                }
              }
            }
          }
        }
      }
      var 更多任务 = text('更多任务').findOne(5000)
      if (更多任务) {
        if (device.model == 'Redmi 8A') {
          点击控件(更多任务)
        }
        if (device.model == 'MI 5X') {
          click(894, 1211)
        }
        sleep(time)
        var 领取奖励 = text('领取奖励').findOne(5000)
        if (领取奖励) {
          领取奖励.click()
          sleep(time)
        }
      }
    }
  }
}

function main() {
  let open_app = launchAppEnhance("同城世界团购");
  if (open_app) {
    task()
  }
  else {
    toastLog("同城世界团购打开失败，请确认是否安装并授权打开!");
  }
}

try {
  main();
} catch (error) {
  toastLog(error);
}

storage.put("script_running_status", "end");
